/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package cz.muni.fi.diplomka.datalayer.dao;

import cz.muni.fi.diplomka.datalayer.entity.MarchingArmyEntity;
import java.util.List;

/**
 * Interface for manipulation with Marching Army Entity
 *
 * @author Jakub Kutil
 */
public interface MarchingArmyDao {

    /**
     * Adds Marching Army to DB
     *
     * @param marchingArmyEntity Marching Army to add
     */
    public void addMarchingArmy(MarchingArmyEntity marchingArmyEntity);

    /**
     * Edits Marching Army in DB
     *
     * @param marchingArmyEntity Marching Army to edit
     */
    public void editMarchingArmy(MarchingArmyEntity marchingArmyEntity);

    /**
     * Deletes Marching Army from DB
     *
     * @param id ID of Marching Army to delete
     */
    public void deleteMarchingArmy(Long id);

    /**
     * Gets all Marching Armies of specified City
     *
     * @param cityId ID of City
     *
     * @return List of all Marching Armies of City
     */
    public List<MarchingArmyEntity> getAllMarchingArmiesOfCity(Long cityId);

    /**
     * Gets all Marching Armies
     *
     * @return List of all Marching Armies
     */
    public List<MarchingArmyEntity> getAllMarchingArmies();
}
